1. Field of the Invention
The present invention generally relates to input/output control devices, and particularly relates to an input/output control device which controls input/output of a semiconductor memory device.
2. Description of the Prior Art
There is a semiconductor memory device which has a semiconductor memory divided into a plurality of logical drives, and which can be connected with a plurality of CPUs (central processing units) and the like capable of accessing each of the logical drives.
Such a semiconductor device is provided with an input/output control device responsible for an exclusion control, so that a plurality of CPUs do not compete for an access of the same logical drive.
In an input/output control device of the prior art, a channel adapter (CA) of a path or a path group issues a reserve command requesting the use of a logical drive. Then, a resource manager (RM) sends a reserve response to the channel adapter so as to give the path or the path group an exclusive use of the logical drive. When another path or another path group issues a reserve command for the use of the same logical drive, the resource manager of the input/output control device sends a device-busy response to the latter path or the latter path group. When the former path or the former path group using the logical drive issues a release command, the resource manager of the input/output control device releases the logical drive, and, then, sends a release response to the former path or the former path group. Also, the resource manager informs the latter path or the latter path group of the availability of the logical drive by sending a busy-to-free response.
FIG. 1 shows a timing chart of an operation of the resource manager responding to reserve commands and release commands issued by two channel adapters.
In FIG. 1, a channel adapter CA.sub.0 issues a reserve command requesting the use of a logical drive, and, then, another channel adapter CA.sub.i issues a reserve command for the same logical drive. Since the request for the use of the logical drive is made by the channel adapter CA.sub.0 first, the resource manager RM sends a reserve response to the channel adapter CA.sub.0, and, then, sends a device-busy response to the channel adapter CA.sub.i. When the channel adapter CA.sub.0 provides a release command, the resource manager RM releases the logical drive and sends a release response to the channel adapter CA.sub.0. Also, the resource manager RM sends a busy-to-free response to the channel adapter CA.sub.i.
Assume that the channel adapter CA.sub.0 issues a reserve command again before the channel adapter CA.sub.i does, as shown in FIG. 1. The resource manager ends up providing a reserve response to the channel adapter CA.sub.0. The channel adapter CA.sub.i again receives a device-busy response from the resource manager.
In this manner, when the same path or the same path group keeps issuing a reserve command, a particular path (CA.sub.i in the above example) can end up receiving a device-busy response again and again. This tendency of repeated failure to seize the control of a logical drive is due to a persistent timing difference between the two channel adapters.
Accordingly, there is a need in the field of input/output control devices for an input/output control device which can prevent the same path from repeatedly receiving device-busy responses so as to average out reserve responses granted for each path.